package ar.frba.utn.diseñosistemas.UI;

import org.specs.form.Tabs.tabs.tab;
import org.uqbar.arena.actions.MessageSend;
import org.uqbar.arena.aop.windows.TransactionalDialog;
import org.uqbar.arena.layout.ColumnLayout;
import org.uqbar.arena.layout.VerticalLayout;
import org.uqbar.arena.widgets.Button;
import org.uqbar.arena.widgets.Label;
import org.uqbar.arena.widgets.Panel;
import org.uqbar.arena.widgets.tables.Column;
import org.uqbar.arena.widgets.tables.Table;
import org.uqbar.arena.windows.WindowOwner;

import ar.frba.utn.diseñosistemas.TP2.Asiento;
import ar.frba.utn.diseñosistemas.ViewModels.AsientosListViewModel;

public class AsientosListDialog extends TransactionalDialog<AsientosListViewModel>
{
	public AsientosListDialog(WindowOwner owner, AsientosListViewModel model) {
		super(owner, model);
	}

	@Override
	protected void createFormPanel(Panel mainPanel) {
		this.setTitle("Aterrizar.com");
		mainPanel.setLayout(new VerticalLayout());
		
		new Label(mainPanel).bindValueToProperty("listTitle");
		
		Table<Asiento> tablaAsientos = new Table<Asiento>(mainPanel, Asiento.class);
		tablaAsientos.bindItemsToProperty("asientos");
		
		new Column<Asiento>(tablaAsientos).bindContentsToProperty("fechaSalida")
										  .setTitle("Salida");
		new Column<Asiento>(tablaAsientos).bindContentsToProperty("nombreAerolinea")
		  								  .setTitle("Aerolinea");
		new Column<Asiento>(tablaAsientos).bindContentsToProperty("codigoVuelo")
										  .setTitle("Vuelo");
		new Column<Asiento>(tablaAsientos).bindContentsToProperty("numeroAsiento")
										  .setTitle("Asiento");
		new Column<Asiento>(tablaAsientos).bindContentsToProperty("precio")
										  .setTitle("Precio");
	}
	
	@Override
	protected void addActions(Panel actions) {
		new Button(actions)
			.setCaption("Cerrar")
			.onClick(new MessageSend(this, "cancel"));
	}
}
